importPackage(Packages.junit.framework);
importPackage(Packages.junit.swingui);
importPackage(Packages.junit.panda);

var panda = {};
load("scripts/lib/panda/utils.js");

test = function(o) {
	var obj = o.suite ? toSuite(o) : o;
	TestRunner.run(TestCase(obj));

	function toSuite(o) {
		return {
			name: o.name,
			suite: function() { return suite(o); }
		};
	}

	function suite(o) {
		var ret = TestSuite(o.name());

		panda.each(o.suite(), function(t){
			var testCase = t.suite ? TestCase(toSuite(t)) : TestCase(t);
			TestCasesManager.put(t.name(), testCase);
			ret.addTestSuite(testCase);
		});

		return ret;
	}
}
